// #include <iostream>
// #include <thread>
// #include <unistd.h>
// #include <pthread.h>
// #include <cerrno>
// using namespace std;

// //现成是可以分离的，默认线城市joinable的
// //如果我们main thread不关心新线程执行信息，我们可以将新线程进行分离
// //虽然说是线程分离，但底层仍是同一个进程！
// //如果一个线程结束，进程就会结束。所以希望main pthread最后一个退出
// //
// void *threadrun(void* args)
// {
//     //pthread_detach(pthread_self());
//     //int cnt=5;
//     string name=static_cast<const char*>(args);
//     while(true)
//     {
//         // if(cnt--==0)
//         // {
//         //     break;
//         // }
//         cout<<"I am a new thred ..."<<getpid()<<endl;
//     }
// }

// int main()
// {
//     pthread_t tid;
//     pthread_create(&tid,nullptr,threadrun,(void*)"thread 1");
//     pthread_detach(tid);
//     while(true)
//     {
//         cout<<"I am a main thread..."<<pthread_self<< ToHex(pthread_self)<<endl;
//         sleep(1);
//     }
//     //cout<<" I am amain pthread"<<endl;
//     //int n=pthread_join(tid,nullptr)
//     //cout<<"main pthread wait return"<<n<<:<<strerror(n)<<endl;
//     return 0;
// }

// // void threadrun(int num)
// // {
// //     while(num)
// //     {
// //         cout<<"I am athread,num"<<num<<endl;
// //     }
// // }

// // int main()
// // {
// //     std::thread t1(threadrun,10);
// //     std::thread t2(threadrun,10);
// //     std::thread t3(threadrun,10);
// //     std::thread t4(threadrun,10);
// //     std::thread t5(threadrun,10);
// //     while(1)
// //     {
// //         cout<<"I am a main join"<<endl;
// //         sleep(1);
// //     }
// //     t1.join();
// //     t2.join();
// //     t3.join();
// //     t4.join();
// //     t5.join();
// //     return 0;
// // }

#include "thread.hpp"
using namespace ThreadModule;

void print(int& cnt)
{
    while(cnt)
    {
        std::cout<<"hellow I am myself thread,cnt"<<std::endl;
        sleep(1);
    }
}

int main()
{
    // Thread<int> t1(print,10);
    std::vector<Thread<int>> threads;
    for(int i=0;i<num;i++)
    {
        std::string name="thread-"+std::to_string(i+1);
        threads.emplace_back
    }
}
